home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 6 / The Arsenal Files 6 (Arsenal Computer).ISO / pcboard / wcbk_100.zip / CNFBLK.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-01-10  |  5KB  |  331 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     Integer  INTEGER006
  26.     Integer  INTEGER007
  27.     Integer  INTEGER008
  28.     Integer  INTEGER009
  29.     String   STRING001
  30.     String   STRING002
  31.     String   TSTRING003(12)
  32.     String   TSTRING004(12)
  33.     String   STRING005
  34.     String   STRING006
  35.     String   STRING007
  36.     String   STRING008
  37.     String   STRING009
  38.     String   STRING010
  39.     String   STRING011
  40.     String   STRING012
  41.     String   STRING013
  42.     String   STRING014
  43.     String   STRING015
  44.     String   STRING016
  45.     String   STRING017
  46.     String   STRING018
  47.     String   STRING019
  48.     String   STRING020
  49.     String   STRING021
  50.     String   STRING022
  51.     String   STRING023
  52.     String   STRING024
  53.     String   STRING025
  54.     String   STRING026
  55.     String   STRING027
  56.     String   STRING028
  57.     String   STRING029
  58.     String   STRING030
  59.     String   STRING031
  60.     String   STRING032
  61.  
  62. ;------------------------------------------------------------------------------
  63.  
  64.     STRING001 = ""
  65.     STRING002 = ""
  66.     TSTRING003(1) = "January"
  67.     TSTRING003(2) = "February"
  68.     TSTRING003(3) = "March"
  69.     TSTRING003(4) = "April"
  70.     TSTRING003(5) = "May"
  71.     TSTRING003(6) = "June"
  72.     TSTRING003(7) = "July"
  73.     TSTRING003(8) = "August"
  74.     TSTRING003(9) = "September"
  75.     TSTRING003(10) = "October"
  76.     TSTRING003(11) = "November"
  77.     TSTRING003(12) = "December"
  78.     STRING006 = ""
  79.     STRING007 = ""
  80.     STRING008 = ""
  81.     STRING009 = ""
  82.     STRING010 = ""
  83.     STRING013 = ""
  84.     STRING014 = "@X0E"
  85.     STRING011 = ""
  86.     STRING012 = "@X0BPle@X03ase @X0BEnt@X03er @X04Passw@X0Cord @X07"
  87.     STRING016 = ""
  88.     STRING017 = "@X0CPLEASE NOTE @X0E: @X07"
  89.     STRING018 = ""
  90.     STRING019 = "@X0F'@X08s @X0DPas@X05swo@X04rd @X0Di@X05s @X0E──@X0F> @X07"
  91.     STRING020 = ""
  92.     STRING021 = " @X0F<@X0E──@X07"
  93.     STRING022 = ""
  94.     STRING023 = "─"
  95.     STRING024 = ""
  96.     STRING025 = ""
  97.     STRING026 = "@X0C"
  98.     STRING027 = ""
  99.     STRING028 = "                                                        "
  100.     STRING029 = "            @X0E[@X8AUNREGISTERED@X0E] @X0D- @X0FEncourage your SYSOP to register this@X0E!@X07"
  101.     STRING030 = "                                        @X0E10 second delay @X07"
  102.     STRING031 = "    @X0FConsider @X8AREGISTERING@X0F this software   - @X0EWritten by @X0DWILD PPE PRODUCTIONS@X07"
  103.     STRING032 = "    @X0Fif you plan on using it!                               @X0B(@X03c@X0B) 1996@X07"
  104.     INTEGER002 = 1
  105.     INTEGER003 = 0
  106.     STRING015 = "Y"
  107.     INTEGER006 = 0
  108.     INTEGER007 = 0
  109.     INTEGER008 = 0
  110.     INTEGER009 = 0
  111.     Gosub LABEL002
  112.     Gosub LABEL005
  113.     Gosub LABEL003
  114.     Gosub LABEL007
  115.     If (BOOLEAN001) Goto LABEL001
  116.     Gosub LABEL006
  117.     :LABEL001
  118.     Gosub LABEL008
  119.     Gosub LABEL009
  120.     Goto LABEL013
  121.     :LABEL002
  122.     GetUser
  123.     FOpen 1, PPEPath() + "CNFBLK.CFG", 0, 2
  124.     FGet 1, STRING009
  125.     FGet 1, STRING010
  126.     FGet 1, INTEGER003
  127.     FGet 1, STRING015
  128.     FGet 1, STRING007
  129.     FGet 1, STRING008
  130.     While (INTEGER002 < 13) Do
  131.         FGet 1, STRING002
  132.         TSTRING004(INTEGER002) = STRING002
  133.         INTEGER002 = INTEGER002 + 1
  134.     EndWhile
  135.     FGet 1, STRING011
  136.     FGet 1, STRING013
  137.     FGet 1, STRING016
  138.     FGet 1, STRING018
  139.     FGet 1, STRING020
  140.     FGet 1, STRING022
  141.     FGet 1, STRING025
  142.     FClose 1
  143.     If ((STRING015 == "Y") || (STRING015 == "y")) Then
  144.         STRING011 = STRING012
  145.         STRING013 = STRING014
  146.         STRING016 = STRING017
  147.         STRING018 = STRING019
  148.         STRING022 = STRING023
  149.         STRING025 = STRING026
  150.     Endif
  151.     Return
  152.     :LABEL003
  153.     If ((U_Name() == STRING007) || (U_Name() == STRING008)) Then
  154.         DispFile PPEPath() + "CNFBLK.SKP", 2 + 1 + 4
  155.         If (BOOLEAN001) Goto LABEL004
  156.         Gosub LABEL006
  157.         :LABEL004
  158.     Else
  159.         Return
  160.         :LABEL005
  161.         INTEGER004 = 1
  162.         While (INTEGER004 < 41) Do
  163.             If ((((INTEGER004 == 2) || (INTEGER004 == 8)) || (INTEGER004 == 12)) || (INTEGER004 == 18)) Then
  164.                 INTEGER005 = INTEGER005 + Asc(Mid(STRING009, INTEGER004, 1)) * 7
  165.                 INTEGER005 = INTEGER005 + Asc(Mid(STRING010, INTEGER004, 1)) * 4
  166.                 INTEGER005 = ((Asc(Mid(STRING010, INTEGER004, 1)) * 4) * (Asc(Mid(STRING010, INTEGER004, 1)) * 6) - 8) * 6 + INTEGER005
  167.                 INTEGER004 = INTEGER004 + 1
  168.                 Continue
  169.             Endif
  170.             If ((((INTEGER004 == 3) || (INTEGER004 == 7)) || (INTEGER004 == 14)) || (INTEGER004 == 16)) Then
  171.                 INTEGER005 = INTEGER005 + Asc(Mid(STRING009, INTEGER004, 1)) * 3
  172.                 INTEGER005 = INTEGER005 + Asc(Mid(STRING010, INTEGER004, 1)) * 2
  173.                 INTEGER005 = ((Asc(Mid(STRING010, INTEGER004, 1)) * 7) * (Asc(Mid(STRING010, INTEGER004, 1)) * 2) - 1) * 4 + INTEGER005
  174.                 INTEGER004 = INTEGER004 + 1
  175.                 Continue
  176.             Endif
  177.             INTEGER005 = INTEGER005 + Asc(Mid(STRING009, INTEGER004, 1)) * 9
  178.             INTEGER005 = INTEGER005 + Asc(Mid(STRING010, INTEGER004, 1)) * 2
  179.             INTEGER005 = ((Asc(Mid(STRING010, INTEGER004, 1)) * 7) * (Asc(Mid(STRING010, INTEGER004, 1)) * 7) - 2) * 9 + INTEGER005
  180.             INTEGER004 = INTEGER004 + 1
  181.         EndWhile
  182.         INTEGER005 = (INTEGER005 + 1) * 4 + Asc(Mid(STRING009, 5, 1)) * 8 + 7
  183.         If (INTEGER005 == INTEGER003) Then
  184.             BOOLEAN001 = 1
  185.         Else
  186.             BOOLEAN001 = 0
  187.         Endif
  188.         INTEGER004 = 0
  189.         INTEGER005 = 0
  190.         Return
  191.         :LABEL006
  192.         INTEGER009 = 0
  193.         PrintLn STRING029
  194.         Print STRING030
  195.         While (INTEGER009 < 11) Do
  196.             Delay 18
  197.             Print "∙"
  198.             INTEGER009 = INTEGER009 + 1
  199.         EndWhile
  200.         PrintLn 
  201.         Return
  202.         :LABEL007
  203.         DispFile PPEPath() + "CNFBLK.MSK", 2 + 1 + 4
  204.         Return
  205.         :LABEL008
  206.         InputStr STRING011, STRING001, STRING013, 75, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`~!@#$%^&*()_-+=[]}{;:',.<>/?\|", 64 + 2 + 4
  207.         Return
  208.         STRING006 = ""
  209.         While (STRING006 <> Chr(13)) Do
  210.             STRING006 = Inkey()
  211.             If ((STRING006 > "a") && (STRING006 < "z")) Then
  212.                 Print "∙"
  213.                 STRING001 = STRING001 + STRING006
  214.                 STRING006 = ""
  215.             Endif
  216.         EndWhile
  217.         Return
  218.         :LABEL009
  219.         If (STRING001 == TSTRING004(Month(Date()))) Then
  220.             DispFile PPEPath() + "CNFBLK.IN", 2 + 1 + 4
  221.             Gosub LABEL010
  222.             Goto LABEL013
  223.         Else
  224.             Command 0, "A"
  225.         Endif
  226.         Return
  227.         :LABEL010
  228.         If (Month(Date()) == 12) Then
  229.             INTEGER001 = 1
  230.             STRING005 = TSTRING003(INTEGER001)
  231.         Else
  232.             INTEGER001 = 1 + Month(Date())
  233.             STRING005 = TSTRING003(INTEGER001)
  234.         Endif
  235.         PrintLn ""
  236.         STRING027 = STRING016 + STRING005 + STRING018 + TSTRING004(INTEGER001) + STRING020
  237.         Gosub LABEL012
  238.         INTEGER007 = 0
  239.         While (INTEGER007 < INTEGER008) Do
  240.             STRING024 = STRING024 + STRING022
  241.             INTEGER007 = INTEGER007 + 1
  242.         EndWhile
  243.         If (BOOLEAN001) Goto LABEL011
  244.         PrintLn STRING031
  245.         PrintLn STRING032
  246.         PrintLn 
  247.         :LABEL011
  248.         PrintLn Left(STRING028, (80 - INTEGER008) / 2) + STRING025 + STRING024
  249.         PrintLn Left(STRING028, (80 - INTEGER008) / 2) + STRING027
  250.         PrintLn Left(STRING028, (80 - INTEGER008) / 2) + STRING025 + STRING024
  251.         Return
  252.         :LABEL012
  253.         INTEGER006 = Len(STRING027)
  254.         INTEGER007 = 1
  255.         INTEGER008 = 0
  256.         While (INTEGER007 < INTEGER006) Do
  257.             If (Mid(STRING027, INTEGER007, 1) == "@") Then
  258.                 INTEGER007 = INTEGER007 + 4
  259.             Endif
  260.             INTEGER008 = INTEGER008 + 1
  261.             INTEGER007 = INTEGER007 + 1
  262.         EndWhile
  263.         INTEGER008 = INTEGER008 - 1
  264.         Return
  265.     Endif
  266.     :LABEL013
  267.  
  268. ;------------------------------------------------------------------------------
  269. ;
  270. ; Usage report (before postprocessing)
  271. ;
  272. ; ■ Statements used :
  273. ;
  274. ;    32      Goto 
  275. ;    94      Let 
  276. ;    3       Print 
  277. ;    9       PrintLn 
  278. ;    18      If 
  279. ;    3       DispFile 
  280. ;    1       FOpen 
  281. ;    1       FClose 
  282. ;    14      FGet 
  283. ;    1       GetUser
  284. ;    1       InputStr 
  285. ;    10      Gosub 
  286. ;    10      Return
  287. ;    1       Delay 
  288. ;    1       Command 
  289. ;
  290. ;
  291. ; ■ Functions used :
  292. ;
  293. ;    20      *
  294. ;    3       /
  295. ;    45      +
  296. ;    7       -
  297. ;    16      ==
  298. ;    1       <>
  299. ;    6       <
  300. ;    1       >
  301. ;    18      !
  302. ;    1       &&
  303. ;    8       ||
  304. ;    1       Len(
  305. ;    14      Mid()
  306. ;    3       Left()
  307. ;    1       Chr()
  308. ;    13      Asc()
  309. ;    3       Date()
  310. ;    2       U_Name()
  311. ;    3       Month()
  312. ;    1       Inkey()
  313. ;    4       PPEPath()
  314. ;
  315. ;------------------------------------------------------------------------------
  316. ;
  317. ; Analysis flags : No flag
  318. ;
  319. ;------------------------------------------------------------------------------
  320. ;
  321. ; Postprocessing report
  322. ;
  323. ;    0       For/Next
  324. ;    6       While/EndWhile
  325. ;    9       If/Then or If/Then/Else
  326. ;    0       Select Case
  327. ;
  328. ;------------------------------------------------------------------------------
  329. ;                 AEGiS Corp - Break the routines, code against the machines!
  330. ;------------------------------------------------------------------------------
  331.